package com.fr.data.core.db.dialect;

import com.fr.data.core.db.dml.Table;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

public abstract interface Dialect
{
  public abstract int getFetchSize();

  public abstract String column2SQL(String paramString);

  public abstract String columnType2SQL(int paramInt, String paramString);

  public abstract String table2SQL(Table paramTable);

  public abstract String[] getSchemas(Connection paramConnection)
    throws Exception;

  public abstract List getTableProcedure(Connection paramConnection, String paramString, boolean paramBoolean)
    throws Exception;

  public abstract String createSequence(Connection paramConnection, String paramString1, String paramString2, String paramString3);

  public abstract String getIdentitySelectString(String paramString1, String paramString2, int paramInt)
    throws Exception;

  public abstract void setAutoCommit(Connection paramConnection, boolean paramBoolean)
    throws SQLException;

  public abstract boolean supportsLimit();

  public abstract boolean supportsLimitOffset();

  public abstract String getLimitString(String paramString, int paramInt1, int paramInt2);

  public abstract String getCountSql(String paramString);

  public abstract boolean isYearData(Connection paramConnection, int paramInt, Table paramTable, String paramString);

  public abstract String quartzDelegateClass();
}